iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0

前情提要:

昨天透過docker run 的方式起了一個包含pytorch及cuda的container環境,當中透過-v來做連結的概念,通常我習慣連結到container內部的/ws,然後會在底下創兩個資料夾,分別是code及dataset,將程式及訓練資料分開放,在找的時候比較方便,接下來我們將設定ssh,這樣子就可以直接透過vscode的ssh連入docker開發了。

sudo docker run --name jeremy_enhance_cuda122 -d -v /home/jeremy/enhance:/ws -p 9000:9000 -p 9022:22 -p 9066:6066 --shm-size=16gb --restart unless-stopped pytorch/pytorch:2.3.0-cuda12.2-cudnn8-devel

1. ssh連入docker

首先需要在server本地端,透過docker exec來進入container裡面,那我自己會先將ssh的腳本放在/home/jeremy/enhance ,這樣子cd到/ws,就可以bash ssh.sh來安裝,安裝完成,就可以透過vscode ssh套件設定好ip, port(docker run的9022), 帳號(root), 密碼(password)來連入

sudo docker exec -it jeremy_enhance_cuda122 bash

ssh.sh內容為以下

apt update
apt install openssh-server -y
echo 'root:password' | chpasswd
echo "Port 22" >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
/etc/init.d/ssh restart

2. tmux

參考網址: https://blog.gtwang.org/linux/linux-tmux-terminal-multiplexer-tutorial/
當你已經可以用vscode ssh連入container內部,接下來會蠻建議使用apt灌tmux,tmux是一個terminal的管理工具,為甚麼需要這個呢?? 只要是當我們在做訓練模型的時候,常常都是幾小時或一天兩天起跳的,如果是用一般的terminal,那麼當你關閉或斷掉,你在裡面run的程式也會被斷掉,關閉時默認發送ctrl+c斷掉程式,所以可以用tmux來幫助我們,他可以建立一個session,我們在讓程式跑,然後離開session,程式會繼續跑,這樣下次我再連入session,就可以看訓練結果拉~~

可以先用以下指令照順序執行,可以幫助你熟悉如何進入離開,以及基本的使用

tmux # 創建session, 就會進到sesion裡面
Ctrl+b 再輸入 d #離開session
tmux ls # 可以看到你剛剛創建的seesion
tmux a -t 0 # 回到剛才創建的session裡面
Ctrl+b 再輸入 c # 創立一個新的window, 一個session可以開多個window, 然後各跑各的code
Ctrl+b 再輸入 w # 會跳出一個視窗讓你可以選擇要去的window, 用上下及enter選擇

今天大致上先更新到這,如果有時間會繼續更新的。


上一篇
環境架設
下一篇
[Day3] 爬蟲收集音檔 - 1
系列文
菜鳥AI工程師給碩班學弟妹的挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言